package com.learn.core.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonInclude;

/**
 * @auther CodeGenerator
 * @create 2021-03-13 19:39:07
 * @describe 字典类型表实体类
 */
@TableName("l_dict_type")
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value="LDictType对象", description="字典类型表")
public class LDictType implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "dict_type_id", type = IdType.AUTO)
    private Integer dictTypeId;

    @ApiModelProperty(value = "字典类型名")
    @TableField("dict_type_name")
    private String dictTypeName;

    @ApiModelProperty(value = "字典类型编码")
    @TableField("dict_type_code")
    private String dictTypeCode;

    @ApiModelProperty(value = "描述")
    @TableField("dict_type_description")
    private String dictTypeDescription;

    @TableField("dict_type_state")
    private String dictTypeState;

    @ApiModelProperty(value = "归属系统")
    @TableField("dict_sys")
    private String dictSys;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private Date createTime;

    @ApiModelProperty(value = "创建人")
    @TableField("create_user")
    private String createUser;

    @ApiModelProperty(value = "更新人")
    @TableField("update_user")
    private String updateUser;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    private Date updateTime;

    @TableField("parent_node")
    private Integer parentNode;

    @TableField(exist = false)
    private List<LDictType> chilDictType;

    public String getDictTypeState() {
        return dictTypeState;
    }

    public void setDictTypeState(String dictTypeState) {
        this.dictTypeState = dictTypeState;
    }

    public Integer getParentNode() {
        return parentNode;
    }

    public void setParentNode(Integer parentNode) {
        this.parentNode = parentNode;
    }

    public List<LDictType> getChilDictType() {
        return chilDictType;
    }

    public void setChilDictType(List<LDictType> chilDictType) {
        this.chilDictType = chilDictType;
    }

    public Integer getDictTypeId() {
        return dictTypeId;
    }

    public LDictType setDictTypeId(Integer dictTypeId) {
        this.dictTypeId = dictTypeId;
        return this;
    }

    public String getDictTypeName() {
        return dictTypeName;
    }

    public LDictType setDictTypeName(String dictTypeName) {
        this.dictTypeName = dictTypeName;
        return this;
    }

    public String getDictTypeCode() {
        return dictTypeCode;
    }

    public LDictType setDictTypeCode(String dictTypeCode) {
        this.dictTypeCode = dictTypeCode;
        return this;
    }

    public String getDictTypeDescription() {
        return dictTypeDescription;
    }

    public LDictType setDictTypeDescription(String dictTypeDescription) {
        this.dictTypeDescription = dictTypeDescription;
        return this;
    }

    public String getDictSys() {
        return dictSys;
    }

    public LDictType setDictSys(String dictSys) {
        this.dictSys = dictSys;
        return this;
    }


    public Date getCreateTime() {
        return createTime;
    }

    public LDictType setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    public String getCreateUser() {
        return createUser;
    }

    public LDictType setCreateUser(String createUser) {
        this.createUser = createUser;
        return this;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public LDictType setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
        return this;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public LDictType setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
        return this;
    }

    @Override
    public String toString() {
        return "LDictType{" +
        "dictTypeId=" + dictTypeId +
        ", dictTypeName=" + dictTypeName +
        ", dictTypeCode=" + dictTypeCode +
        ", dictTypeDescription=" + dictTypeDescription +
        ", dictSys=" + dictSys +
        ", createTime=" + createTime +
        ", createUser=" + createUser +
        ", updateUser=" + updateUser +
        ", updateTime=" + updateTime +
        "}";
    }
}